<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/plantillas/plantillaPrincipal.xhtml">
	<ui:define name="contenido">
		<f:view>
			<h:form id="formNuevaLetra">
				<h:panelGrid columns="1" style="width:450px;margin: 0px auto;">
					<p:commandButton id="btnNuevoLetraPorCobrar" action="#{MBLetraPorCobrar.nuevo()}"
						value="AGREGAR LETRA POR COBRAR" ajax="false"/>
				</h:panelGrid>
			</h:form>

			<h:form id="formBusquedaLetraCobrar">
				<p:panel id="pnlBusquedaLetraPorCobrar" header="CONSULTAR LETRAS POR COBRAR"
					style="width:450px;margin: 5px auto">
					<p:panelGrid cellpadding="2" style="width:100%;margin: 10px auto;">
						<p:row>
							<p:column>
								<h:outputLabel id="lblCliente" value="Cliente" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="cbxCliente" style="width: 200px"
											      value="#{BKLetraPorCobrar.clienteBusqueda.id}">
									<f:selectItems value="#{BKLetraPorCobrar.comboClientesBusqueda}"/>
								</p:selectOneMenu>
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<h:outputLabel id="lblEstado" value="Estado" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="cbxEstadoLetra" style="width: 200px"
									value="#{BKLetraPorCobrar.estadoBusqueda}">
									<f:selectItems value="#{BKLetraPorCobrar.comboEstadoLetrasBusqueda}"/>
								</p:selectOneMenu>
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<h:outputLabel id="lblTipoMoneda" value="Tipo de Moneda" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="cbxTipomoneda" style="width: 200px"
									value="#{BKLetraPorCobrar.tipoMonedaBusqueda.id}"
									disabled="#{BKLetraPorCobrar.comboTipoMonedasBusqueda eq null?'true':'false'}">
									<f:selectItems value="#{BKLetraPorCobrar.comboTipoMonedasBusqueda}"/>
								</p:selectOneMenu>
							</p:column>
						</p:row>

						<p:row>
							<p:column>
								<h:outputLabel id="lblFechaVencimiento"
									value="Fecha de Vencimiento" />
							</p:column>
							<p:column>
								<p:calendar
									value="#{BKLetraPorCobrar.fechaVencimientoBusqueda}"
									id="calendarPopup" showOn="button" />
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<p:commandButton id="btnBuscarLetraCobrar" value="BUSCAR"
                                       update=":formBusquedaLetraCobrar:pnlListarLetras,:msgs"
                                       icon="ui-icon-search"
                                       actionListener="#{MBLetraPorCobrar.buscarListaLetrasPorCobrar}"
                                       ajax="true"
                                       oncomplete="resultadoListaLetraPorCobrar.show()" style="font-size: 12px" />
							</p:column>
						</p:row>
					</p:panelGrid>
				</p:panel>

				<p:panel id="pnlListarLetras" header="Lista de Letras por Cobrar"
					closable="true" style="width: 100%;margin: 10px auto"
					widgetVar="resultadoListaLetraPorCobrar" visible="#{BKLetraPorCobrar.listaLetrasPorCobrar ne null}">

					<p:dataTable id="dataTablaLetrasPorCobrar" var="letraPorCobrar"
						value="#{BKLetraPorCobrar.listaLetrasPorCobrar}"
						widgetVar="listaLetras" editable="true"
						emptyMessage="No se encontraron letras disponibles"
						filteredValue="" rowIndexVar="rowIndex" paginator="true" rows="10"
						paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
	                                     {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}">

						<p:ajax event="rowEdit" listener="#{MBLetraPorCobrar.onEdit}" update=":msgs" />  
						<p:ajax event="rowEditCancel" listener="#{MBLetraPorCobrar.onCancel}" update=":msgs" />
	

						        <p:columnGroup type="header">
						        	<p:row>
							        	<p:column headerText="Item" />
							        	<p:column headerText="Proveedor" />
							        	<p:column headerText="Nro. de Letra" />
							        	<p:column headerText="Estado" />
							        	<p:column headerText="Moneda" />
							        	<p:column headerText="Monto" />
							        	<p:column headerText="Fecha de Vencimiento"/>
							        	<p:column headerText="Fecha de Cancelación"/>
							        	<p:column headerText="Acciones"/>
							        </p:row>	
						        </p:columnGroup>
		
								<p:column id="idColumnaNumC" style="width:5%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{rowIndex+1}" />
								</p:column>
								
								<p:column id="idColumnaProveedorC" style="width:20%" styleClass="styleAlignLeftColumn">
									<h:outputText value="#{letraPorCobrar.proveedor.razonSocial}"/>
								</p:column>
								
								<p:column id="idColumnaNumLetraC" style="width:10%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorCobrar.numeroLetra}" />
								</p:column>
		
								<p:column id="idColumnaDestinatarioC" style="width:9%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{letraPorCobrar.estadoLetra eq 'C' ? 'Cancelado' : 'Por Cancelar'}"/>
								</p:column>
		
								<p:column id="idColumnaEstadoC" style="width:10%" styleClass="styleAlignCenterColumn" >
									<h:outputText value="#{letraPorCobrar.tipoMoneda.nombre}" />
								</p:column>
		
								<p:column id="idColumnaMontoC" style="width:10%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorCobrar.total}">
										<f:convertNumber pattern="#,##0" locale="#{BKLetraPorCobrar.locale}"/>
									</h:outputText>
								</p:column>
 
								<p:column id="idColumnaFechaVencimientoC" style="width:10%" styleClass="styleAlignCenterColumn">
									<p:cellEditor>
										<f:facet name="output"> 
											<h:outputText value="#{letraPorCobrar.fecVencimiento}">
												<f:convertDateTime type="date" pattern="dd-MM-yyyy"/>
											</h:outputText>
										</f:facet>
										<f:facet name="input"> 
											<p:calendar id="calendarPopupC" showOn="button" value="#{letraPorCobrar.fecVencimiento}" pattern="dd/MM/yyyy" size="10" />
										</f:facet>	
									</p:cellEditor>
								</p:column>
								
								<p:column id="idColumnaFechaCancelacionC" style="width:10%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{letraPorCobrar.fecCancelacion}">
										<f:convertDateTime type="date" pattern="dd-MM-yyyy"/>
									</h:outputText>
								</p:column>
		
								<p:column id="idColumnaAccionesC" style="width:15%" styleClass="styleAlignCenterColumn">
									<p:rowEditor rendered="#{letraPorCobrar.fecCancelacion eq null}" />
	                                <p:commandButton icon="ui-icon-search" title="#{message['general.button.ver']}" actionListener="#{MBLetraPorCobrar.detalle()}"
	                                				 oncomplete="dialogViewLetraC.show()" update=":formBusquedaLetraCobrar:displayViewC" ajax="true">
	                                    <f:setPropertyActionListener value="#{letraPorCobrar}" target="#{BKLetraPorCobrar.letraSeleccionada}" />  
	                                </p:commandButton>  
	                               	<p:commandButton disabled="#{letraPorCobrar.fecCancelacion ne null}" icon="ui-icon-circle-check" title="#{message['general.button.cancelacion']}" 
	                               					 oncomplete="confirmacionCancelacionC.show()" update=":formBusquedaLetraCobrar:displayCancelacionC">		 
	                                    <f:setPropertyActionListener value="#{letraPorCobrar}" target="#{BKLetraPorCobrar.letraSeleccionada}" />  
	                                </p:commandButton>
	                                <p:commandButton icon="ui-icon-circle-minus" title="#{message['general.button.anular']}" disabled="#{letraPorCobrar.fecCancelacion ne null}"
	                                				 oncomplete="confirmacionAnulacionC.show()" update=":formBusquedaLetraCobrar:displayAnulacionC" >
	                                    <f:setPropertyActionListener value="#{letraPorCobrar}" target="#{BKLetraPorCobrar.letraSeleccionada}" />  
	                                </p:commandButton>
								</p:column>

					</p:dataTable>
				</p:panel>

			</h:form>

			<p:blockUI block=":formBusquedaLetraCobrar:pnlListarLetras" trigger=":formBusquedaLetraCobrar:btnBuscarLetraCobrar">
					<p:graphicImage value="/recursos/imagenes/utilitarios/ajax-loader.gif" style="border:0;"/>Cargando...
				</p:blockUI>
				
				<p:dialog header="Confirmación"  modal="true" widgetVar="confirmacionCancelacionC" styleClass="styleAlignCenterColumn"> 
			    	<h:panelGrid id="displayCancelacionC" columns="2" cellpadding="4" style="margin:0 auto;"> 
			    		
			    		<h:outputText value="¿Esta seguro de registrar la cancelacion de la letra?" />	
			    		<h:outputText/>
			    		 
				        <p:commandButton value="Si" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" update=":formBusquedaLetraCobrar:pnlListarLetras"
				        				 actionListener="#{MBLetraPorCobrar.cancelacion(BKLetraPorCobrar.letraSeleccionada)}" ajax="true" 
				        				 oncomplete="confirmacionCancelacion.hide()"/>  
				        <p:commandButton value="No" styleClass="ui-confirmdialog-no" icon="ui-icon-close" oncomplete="confirmacionCancelacion.hide()"/>       
				    </h:panelGrid>    
			    </p:dialog >  
			    
				<p:dialog header="Confirmación"  modal="true" widgetVar="confirmacionAnulacionC" styleClass="styleAlignCenterColumn"> 
			    	<h:panelGrid id="displayAnulacionC" columns="2" cellpadding="4" style="margin:0 auto;"> 
			    		
			    		<h:outputText value="¿Esta seguro de anular la letra?" />	
			    		<h:outputText/>
			    		 
				        <p:commandButton value="Si" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" update=":formBusquedaLetraCobrar:pnlListarLetras"
				        				 actionListener="#{MBLetraPorCobrar.anular(BKLetraPorCobrar.letraSeleccionada)}" ajax="true" 
				        				 oncomplete="confirmacionAnulacion.hide()"/>  
				        <p:commandButton value="No" styleClass="ui-confirmdialog-no" icon="ui-icon-close" oncomplete="confirmacionAnulacion.hide()"/>       
				    </h:panelGrid>    
			    </p:dialog >  
			    
			    <p:dialog header="Detalle de Letra" modal="true" widgetVar="dialogViewLetraC" width="550"> 
			    	<h:panelGrid id="displayViewC" columns="1" cellpadding="4" style="margin:0 auto;">
			    	
			    		<p:dataTable id="dataTableDetalleLetrasPorCobrar" var="letraPorCobrarDetalle"
								value="#{BKLetraPorCobrar.listaDetalleLetra}" 
								emptyMessage="No se encontraron letras disponibles"
								rowIndexVar="rowIndex" >
								
								<p:columnGroup type="header">
						        	<p:row>
							        	<p:column headerText="Item" />
							        	<p:column headerText="Numero Factura" />
							        	<p:column headerText="Fecha Emision" />
							        	<p:column headerText="Sub Total" />
							        	<p:column headerText="Igv" />
							        	<p:column headerText="Total" />
							        </p:row>
							    </p:columnGroup>    	
								
								<p:column id="idColumnaDetalleNumC" style="width:5%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{rowIndex+1}" />
								</p:column>
								
								<p:column id="idColumnaNumeroFacturaC" style="width:20%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorCobrarDetalle.idCompraFacturacion.numeroFactura}"/>
								</p:column>
								
								<p:column id="idColumnaFechaEmisionC" style="width:20%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{letraPorCobrarDetalle.idCompraFacturacion.fecEmision}">
										<f:convertDateTime type="date" pattern="dd-MM-yyyy"/>
									</h:outputText>
								</p:column>
								
								<p:column id="idColumnaMontoSubTotalC" style="width:20%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorCobrarDetalle.idCompraFacturacion.subTotal}">
										<f:convertNumber pattern="#,##0" locale="#{BKLetraPorCobrar.locale}"/>
									</h:outputText>
								</p:column>
								
								<p:column id="idColumnaMontoIgvC" style="width:20%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorCobrarDetalle.idCompraFacturacion.igv}">
										<f:convertNumber pattern="#,##0" locale="#{BKLetraPorCobrar.locale}"/>
									</h:outputText>
								</p:column>
								
								<p:column id="idColumnaMontoTotalC" style="width:20%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorCobrarDetalle.idCompraFacturacion.total}">
										<f:convertNumber pattern="#,##0" locale="#{BKLetraPorCobrar.locale}"/>
									</h:outputText>
								</p:column>
								
			            </p:dataTable>                         
				        <p:commandButton value="Cerrar" styleClass="ui-confirmdialog-no" icon="ui-icon-close" oncomplete="dialogViewLetra.hide()"/>       
				    </h:panelGrid>    
			    </p:dialog > 

		</f:view>
	</ui:define>

</ui:composition>
</html>